#ifndef _DEVICE_H_
#define _DEVICE_H_  

#include <map>
#include <thread>

#include "types.h"

class Device {
public:
    virtual bool read(word_t start_addr, size_t length, uint8_t* buffer, bool& mmio) = 0;
    virtual bool write(word_t start_addr, size_t length, const uint8_t* buffer, bool& mmio) = 0;
    virtual void update() = 0;
};

#endif
